/***********************************************************************
	filename: 	DaterRecUser.h
	created:	1/6/2012
	author:		4Ys
	
	purpose:	Defines classes to recover orders from server to client,
				specifically for user(not login and signup).	            
*************************************************************************/
#ifndef _DaterRecUser_h_
#define _DaterRecUser_h_

#include "DaterRecover.h"
#include "DaterUser.h"

#include <vector>
#include <string>

namespace Dater
{
	struct BriefUserInfo
	{
		int userID;
		std::string userHypocorism;
		std::string userGender;
		std::string userBirthday;
	};
	class RecUser : public Recover
	{
	public:
		/*!
		 \brief
			 Construct class RecUser with a param.

		 \param splitedVector
		     - a vector of string of orders from server to client to describe the group.
		*/
		RecUser(std::string recvMessage): Recover(recvMessage) {}
	};	

	class RecUserSearch : public RecUser
	{
	public:
		/*!
		 \brief
			 Construct class RecGroupCreate with a param.
			 
		 \param splitedVector
		     - a vector of string of orders from server to client to describe the result to create a Group		
		*/
		RecUserSearch(std::string recvMessage): RecUser(recvMessage) {}
		
		/*!
		 \brief
			 A virtual function generates from class RecGroup, 
			 check whether group created successfully.

		 \return
			 true - create group successfully
			 false - create group fail
		*/
		std::vector<BriefUserInfo> execute();
	};
}
#endif